﻿//
// IPositionRepositoryContract.cs
//
// Authors:
//    Claus Jørgensen <10229@iha.dk>
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics.Contracts;

namespace RSD.Data.Contracts
{
    /// <summary>
    /// IPositionRepository code contract.
    /// </summary>
    [ContractClassFor(typeof(IPositionRepository))]
    internal abstract class IPositionRepositoryContract : IPositionRepository
    {
        #region IPositionRepository Members

        public Position GetPositionByName(string vectorName)
        {
            Contract.Requires(!string.IsNullOrEmpty(vectorName));

            return default(Position);
        }

        #endregion

        #region IRepository<Position> Members

        public IEnumerable<Position> FindAll()
        {
            throw new NotImplementedException();
        }

        public IEnumerable<Position> FindBy(System.Linq.Expressions.Expression<Func<Position, bool>> predicate)
        {
            throw new NotImplementedException();
        }

        public IRepository<Position> Add(Position entity)
        {
            throw new NotImplementedException();
        }

        public IRepository<Position> Remove(Position entity)
        {
            throw new NotImplementedException();
        }

        public IRepository<Position> SaveChanges()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IDisposable Members

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
